Generally, navigation meshes may be used to define where objects can move and/or be located within a virtual space. Such navigation meshes may be constructed from polygonal tiles joined at their edges, and can be two- or three-dimensional. Conventional navigation meshes may not be visible within the virtual space. That is, a navigation mesh may be separate and unique from meshes that define visible surfaces within the virtual space. In some cases, however, a navigation mesh may track or correspond to a portion of a mesh that defines visible surfaces within the virtual space.
Traditionally, separate navigation meshes may be predefined for each one of a set of discrete object sizes. As a result, a virtual space may only accommodate objects of discrete sizes and/or certain sized objects may be over restricted in the virtual space. For example, if a virtual space has two navigation meshes—one for objects of size 1 (e.g., an object radius and/or another measure equaling one length unit) and another for objects of size 5, then an object of size 2 may utilize the navigation mesh for object of size 5. Thus, even though an object of size 2 is smaller than an object of size 5 and should be able to traverse areas where the object of size 5 cannot, the object of size 2 may have the same positional restrictions as the object of size 5. Additionally, memory usage associated with storing several predefined navigation meshes may be a drawback of existing approaches to navigation meshes.